Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

Перевод числа   Найти похожие ветки 

 
ToMXz   (2005-01-31 21:28) [0]

Скажите пожалуйста как перевести целое число в шестеричную систему счисления (от 1 до 6)
Например:
2 – 2 = 6
2 + 5 = 1
1  - 4 = 3


 
ninja ©   (2005-01-31 21:41) [1]

ИМХО, 2-2=0 в любой системе :)


 
ToMXz   (2005-01-31 22:09) [2]

Счет начинается с "1"


 
ninja ©   (2005-01-31 22:17) [3]


> ToMXz   (31.01.05 22:09) [2]
> Счет начинается с "1"


тогда это какая-то очень странная система счисления (по-любому не 6-ричная :)


 
default ©   (2005-01-31 22:39) [4]

2 – 2 = 6
поверь, даже индейцы такое бы не написали


 
default ©   (2005-01-31 22:41) [5]

при условии что 6 это не обозначение "ничего"


 
Gero ©   (2005-01-31 22:49) [6]

http://algolist.manual.ru/maths/teornum/count_sys.php#examp


 
default ©   (2005-01-31 22:51) [7]

Gero ©   (31.01.05 22:49) [6]
такой с/с там точно нет


 
ninja ©   (2005-01-31 23:31) [8]

орех вообще


 
GrayFace ©   (2005-02-01 02:49) [9]

ToMXz   (31.01.05 21:28)
m:=n mod 6;
if m<=0 then inc(m,6);

Где n - это 2-2, 2+5, 1-4 и т.д. Только это не система счисления. Как мне помнится, это "кольцо вычетов по модулю 6" с 6 вместо нуля.


 
VsInLg   (2005-02-01 10:17) [10]

Alphabet:array of Char;

в твоем случае Alphabet=("0","1","2","3","4","5");

function IntToPass(Int:Int64):string;  // Быстрая
var
i,j,dived,moded,k,AlphLen:integer;
tmp:Int64;
begin
AlphLen:=Length(Alphabet);
tmp:=Int div AlphLen;
i:=1;
while tmp<>0 do
begin
 tmp:=tmp div AlphLen;
 Inc(i);
end;

k:=i;
SetLength(Result,i);
tmp:=Int;
for j:=1 to i do
begin
 moded:=tmp mod AlphLen;
 dived:=tmp div AlphLen;
 Result[k]:=Alphabet[moded];
 Dec(k);
 tmp:=dived;
end;

end;

function IntToPassA(Int:Int64):string; // медленная
var
Ind:integer;
dived,moded:integer;
PassLen,AlphLen:integer;
Password:string;
begin
AlphLen:=Length(Alphabet);
PassLen:=0;
while Int<>0 do
begin
 moded:=Int mod AlphLen;
 dived:=Int div AlphLen;
 Inc(PassLen);
 SetLength(Password,PassLen);
 Password[PassLen]:=Alphabet[moded];
 Int:=dived;
end;

SetLength(Result,PassLen);
for Ind:=1 to PassLen do
 Result[Ind]:=Password[PassLen-Ind+1];

end;


 
ToMXz   (2005-02-01 13:01) [11]

Спасибо за помощь!
На счет системы счисления я наверное погорячился. Просто это нужно для корректировки вычислений.


 
msguns ©   (2005-02-01 13:47) [12]

А почему "6" ? На дьявола работаешь ?


 
Alx2 ©   (2005-02-01 14:03) [13]

>msguns ©   (01.02.05 13:47) [12]

Уже и "6" опаскудили? :)


 
pasha_golub ©   (2005-02-01 14:40) [14]

GrayFace ©   (01.02.05 02:49) [9]
Совершенно верно, но у этой штуки есть специальное название "чего-то там минимальное что-то по модулю 6"


 
Хруст ©   (2005-02-01 15:47) [15]


const
    n=6;//основание системы счисления
var i: Word;//10-тичная запись числа
   k: Word;
   s: String;//запись числа в нужной системе счисления
begin
    s := "";
    while i > n do
    begin
         k := i MOD n;
         s := IntToStr(k) + s;
         i := i - n*k;
    end;
    s := IntToStr(i) + s;
end;

Примерно так


 
GrayFace ©   (2005-02-01 17:55) [16]

Хруст ©   (01.02.05 15:47) [15]
i=2*n => бесконечный цикл.
2*n, 3*n, ... - тоже


 
Prohodil Mimo ©   (2005-02-01 18:09) [17]

Вроде бы прокатывало такое:

Type
  Zz=1..6;
Var
  Ss:Zz;


 
Hypercube   (2005-02-01 19:16) [18]

Ты навервно перепутал шестиричную с шестнадцатиричной (hexdecimal).



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.048 c
1-1107436477
Zelius
2005-02-03 16:14
2005.02.20
Использование Ansi строк в многопоточном приложении...


1-1107773125
salexn
2005-02-07 13:45
2005.02.20
Excel


14-1106400846
Валерий
2005-01-22 16:34
2005.02.20
Поздравьте меня. Начинаю жить по новому


3-1106489170
Mamed
2005-01-23 17:06
2005.02.20
TQRCompositeReport


1-1107093457
Dr. Genius
2005-01-30 16:57
2005.02.20
Окошко с пунктами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский