Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
14-1107054028
Думкин
2005-01-30 06:00
2005.02.20
С Днем рождения! 30 января


14-1106833107
wl
2005-01-27 16:38
2005.02.20
огромная просьба помочь...


6-1102245699
dr Tr0jan
2004-12-05 14:21
2005.02.20
Как подружить прокси и winsock?


14-1107322087
sapsi
2005-02-02 08:28
2005.02.20
Secret net


3-1106583349
Вован_
2005-01-24 19:15
2005.02.20
Как сохранить изображение из .bmp в поле Graphic через TQuery?