Главная страница
    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.038 c
14-1107074354
Sniper-Max
2005-01-30 11:39
2005.02.20
Win9x, Win2K и сеть... тормозят в месте по сетке :(


1-1107840892
hgd
2005-02-08 08:34
2005.02.20
Сохранение bitmap в jpeg


10-1084259585
13-Drakosha
2004-05-11 11:13
2005.02.20
Настройка DCOM...


14-1106211382
DelphiNew
2005-01-20 11:56
2005.02.20
Изгиб гитары жёлтой


8-1099685679
ser_ega
2004-11-05 23:14
2005.02.20
Bmp -->JPG





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский