Другие языки программирования и технологии
Как перевести число из одной системы исчисления в другую?
Только не между 8/2/16, а в любуюВобщем, мне надо написать функцию на Ассемблере... для личный нужд... Которая бы переводила числа между системами исчисления и число <=> текстовое представлениеПодскажите плиз общую схему, как вообще это делается?P.S. Всяких функций, как например base_convert и прочих, которые работают непонятно как, просьба не писатьМне нужно понять принципЗаранее спасибо
Как тут написать не знаю, но попробую.
Например у тебя есть число 9 и его надо перевести в двоичную систему.
9/2=4 4*2=8 9-8=1
4/2=2 2*2=4 4-4=0
2/2=1 2*1=2 2-2=0
В результате последнего деления получилась 1, она не делится на 2 и является последней цифрой кода, а код получился: 1001 (1*8+0*4+0*2+1*1=9)
Соответсвенно, для перевода в другую систему нужно делить на её базу, те 2, 8, 4, 10...
Например у тебя есть число 9 и его надо перевести в двоичную систему.
9/2=4 4*2=8 9-8=1
4/2=2 2*2=4 4-4=0
2/2=1 2*1=2 2-2=0
В результате последнего деления получилась 1, она не делится на 2 и является последней цифрой кода, а код получился: 1001 (1*8+0*4+0*2+1*1=9)
Соответсвенно, для перевода в другую систему нужно делить на её базу, те 2, 8, 4, 10...
много инфы в гугле по этому поводу
Исходное число, а затем получаемые частные нужно последовательно делить на основание новой системы счисления.
Деление следует производить до тех пор, пока не получится частное меньше основания новой системы счисления.
После этого нужно записать число в новой системе счисления, начиная с последнего частного, которое будет являться старшей цифрой, а следующие за ней цифры - остатки от деления записываются в порядке, обратном их получению.
Деление следует производить до тех пор, пока не получится частное меньше основания новой системы счисления.
После этого нужно записать число в новой системе счисления, начиная с последнего частного, которое будет являться старшей цифрой, а следующие за ней цифры - остатки от деления записываются в порядке, обратном их получению.
Раздели чилсо на сумму этих чисел (2,4,8,16,32,64,128,256,512,1024,2048)
Пусть число 120
120 = 64 + 32 +16 + 8
теперь преобразуем слагаемые в 2 в степени
120 = 2^6 + 2^5 + 2^4 + 2^3
показатели степеней указывают на каком месте стоят еденицы в двоичной записи числа
получаем
1111000
Места считаются слева на право начиная с НУЛЯ!
Спасибо :)
Нашел пример на Бейсикке перевода числа в двоичную систему исчисления
Может поможет:
cls
input n
a$ = ""
1 b = n MOD 2
n = Int(n / 2)
x$ = Str$( b )
a$ = x$ + a$
if n <> 0 then goto 1
print a$
end.
Пусть число 120
120 = 64 + 32 +16 + 8
теперь преобразуем слагаемые в 2 в степени
120 = 2^6 + 2^5 + 2^4 + 2^3
показатели степеней указывают на каком месте стоят еденицы в двоичной записи числа
получаем
1111000
Места считаются слева на право начиная с НУЛЯ!
Спасибо :)
Нашел пример на Бейсикке перевода числа в двоичную систему исчисления
Может поможет:
cls
input n
a$ = ""
1 b = n MOD 2
n = Int(n / 2)
x$ = Str$( b )
a$ = x$ + a$
if n <> 0 then goto 1
print a$
end.
Похожие вопросы
- Помогите перевести числа в разные системы счисления. HELP!!!
- Обьесните пожайлуста, это срочно!!!!Как перевести число из десятиричной системы в шестнадцатиричную! Например число
- Как перевести число из 16ричной системы счисления в двоичную?
- Как перевести число из десятичной системы в двоичную? желательно с примером, заранее спасибо)))
- Как перевести число из троичной системы счисления в восмеричную в Ассемблере?
- Как перевести число из троичной системы счисления в десятичную в Ассемблер (tasm)
- Как перевести число из двоичной системы счисления в восьмеричную в Ассемблер (tasm) Программа должна быть простой!
- Как перевести число из восьмеричной системы счисления в двоичную в Ассемблер (tasm) Программа должна быть простой!
- Переведите число 111 из десятичной системы счисления в двоичную систему счисления.
- как перевести информацию в двоичную сстему кодирования и шестнадцатиричную систему исчисления
121 = 64+32+16+8+1
121 = 2^6 + 2^5 + 2^4 + 2^3 + 2^0
Получим
1111001
лоханулся ппц ))