
23.11.2015, 19:54
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Сообщение от Recovery
Тогда, поясните другой момент. Когда я считываю из файла любые числа и преобразую их 'FBnew.ReadInt32(); '
FBnew - это BinaryReader, т.е двоичный файл. Если я ввиду в файл - "1234", он мне выдаст "12849". Почему так, можете пояснить? Спасибо.
ИЛИ (в файле все то же '1234')
если я вывожу FBnew.ReadByte() (считывает 1 байт и передвигает позицию в потоке на 1 байт вперед). Выдает 49, откуда он берет эти числа? Можете пояснить?
// думал, что 49 - код числа в символах (48 - 0, 49 - 1), оказалось, что ошибся.
49 это и есть код символа ('1'). Если ты хочешь считать число из файла, можешь считать строку и преобразовать ее в инт (Int32.Parse(string))
И еще, бинарные операции это операции между двумя операндами (например 5 + 10, тут операнды 5 и 10, есть еще унарные и тернарная операторы)
У тебя в файле текстовые данные (тоесть число 123456 представлено как последовательность 6 байт-букв), прочитать через ReadInt32, ReadInt16, ReadByte (можно, но сложно) у тебя не получится. Чтобы прочитать число через эти функции нужно их записать бинарно.
|
|
|