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

Вниз

101010101010101010   Найти похожие ветки 

 
Карлсон   (2002-08-25 17:44) [0]

Как перевести букву в двоичный код?
где можно достать таблицу перевода символов в двоичные коды?


 
Polevi   (2002-08-25 18:31) [1]

function Z(c: char): string;
var
i:integer;
begin
for i:=7 downto 0 do
Result:=Result+IntToStr(Integer(((Byte(c) shr i) and 1)));
end;


 
drpass   (2002-08-25 18:41) [2]

Никакой таблицы не существует - это ведь просто, как 2+2=4
Каждая буква представлена в компьютере однобайтовым числом - два разряда в шестнадцатеричной системе.
Соответствие двоичных кодов шестнадцатеричным ты знаешь? Если нет, то напомню:
0=0000
1=0001
2=0010
3=0011
4=0100
...
15=1111
Допустим, так:
i:=byte("a");
case i mod 16 of
0:s1:="0000";
...
15:s1:="1111";
end;
case i div 16 of
0:s2:="0000";
...
15:s2:="1111";
end;
s:=s2+s1;//это представление буквы "а" в двоичном коде
Этот алгоритм не единственный, но он, мне кажется, понятнее.


 
Юрий Зотов   (2002-08-25 18:47) [3]

Строковое представление шестнадцатиричного кода буквы K:
IntToHex(Ord("K"), 0)

Для двоичного нужно написать свою функцию. Очень простую. Например, такую (далеко не лучшую, оптимизируйте сами):

function HexToBin(S: string): string;
const
H: array [0..15] of char =
("0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "A", "B", "C", "D", "E", "F");
B: array[0..15] of string[4] =
("0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111");
var
i, j: integer;
begin
for i := 1 to Length(S) do
for j := 0 to 15 do
if UpCase(S[i]) = H[j] then
begin
Result := Result + B[j];
Break
end
end;


> где можно достать таблицу перевода символов в двоичные коды?

Таблица ASCII-кодов. Есть в очень многих книгах, обычно в приложении.


 
Карлсон   (2002-08-25 21:19) [4]

Всем большое спасибо, но я немного не то имел в виду :)))
Мне нужно было представить букву, а не цифру в двоичном коде.
покопался в нете и нашел кодовые страницы в асцы формате, а затем десятичное значение буквы перевел в бинарный вид %)
вот и все дела.
просто хотел посмотреть, как будет слово одно выглядеть в единицах и ноликах.


 
Ihor Osov'yak   (2002-08-25 21:27) [5]

Народ!! Или я чего замного выпил, или Карлсон не того..
Три раза перечитал, не понял. (зы, msdn на незнакомом буржуйском
за вторым разом понимаю)... Иль может действительно многовато выпил ...


 
Карлсон   (2002-08-25 22:05) [6]

советую просто забить.
сейчас у многих запой по графику.
я немного ошибся, мтзги от прогирования уже совсем на бекрень :(


 
Юрий Зотов   (2002-08-25 22:05) [7]

Скорее, мало. Нужно добавить - и придет озарение!


 
Anatoly Podgoretsky   (2002-08-25 22:20) [8]

Без поллитры не разберешься


 
drpass   (2002-08-25 22:31) [9]

Только не надо про спиртное, а то меня сейчас стошнит на мышиный коврик...


 
Карлсон   (2002-08-25 23:59) [10]

а я между прочим спиртное вообще не употребляю....
а в "Фанте" можно чулки старые нейлоновые утилизировать...


 
VEG   (2002-08-26 00:11) [11]

Хе... Это в школе в начальном курсе проходят. Вроде 4-тый урок:-)


 
NetBreaker666   (2002-08-26 01:15) [12]

2drpass © You ain"t worth no shit, son...))))))
2All:
Самый быстрый способ:
type ts8=array[1..8] of char;
const bytetobitarr:array [0..255] of ts8 =("00000000","00000001",
"00000010","00000011"...)
function ByteToBit(b:Byte):String;
Begin
Result:=bytetobitarr[b]; //Здесь на уровне асма происходит
//что-то вроде:
//movz ax,b
//shl ax,3 - бустрее всякого mul"a, div"a Ит.д.
//
End;



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
6-73791
OlegG
2002-07-12 23:17
2002.09.23
Как мне узнать имя файла отправл. с СlientSocket в ServerSocket


14-73845
Igorek
2002-08-08 10:45
2002.09.23
Попытка номер 2


3-73493
Slin
2002-08-31 00:23
2002.09.23
DBGrid


4-73950
Vladimir Prokofiev
2002-08-01 14:22
2002.09.23
Как в MDI-application избавиться от появления ScroollBar,


3-73527
bib
2002-09-02 17:15
2002.09.23
Помогите!





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