 |
|

23.11.2015, 19:17
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Int - integer - целое число(занимает 4 байта памяти), границы от ~ -2 млрд(~) до ~2 млрд.
Int16 - integer16(short или int16_t(что не могу подтвердить)) - целое число, но уже занимает 2 байта и имеет другие границы - меньше(-32 тыс. до 32 тыс.).
Приставка U(unsigned) обозначает, что число не может быть отрицательным и диапазон начинается от 0 до x*2+1(x - максимальный диапазон в "со знаком").
7 битов - это 0,875 байта, что по мною изученными типами данных не соответствует ни один(самый "менее потребляемый память" тип данных является bool / byte).
P.S. Было бы легче отвечать, если разделял вопросы по абзацам или нумеровал их.
Насчет разбиения чтения по 2 байтам и более ничего сказать не могу(как это будет возвращаться). Если прочитать 4 байта - в переменную занесутся эти 4 байта и указатель переместится так же на 4 байта.
Про машины(хранение младшего байта первым) могу объяснить(если я правильно понял) на HEX:
шестнадцатеричная система счисления(далее HEX) записывается так: 0xAAFF1230, т.е. 1 байт - 0xAA, 2 байт - 0xFF, 3 байт - 0x12, 4 байт - 0x30. В памяти они записываются наоборот: 0x3012FFAA.
Всё, что я здесь изъяснил, является опытом(он у меня не такой богатый) из клео(про побайтовое чтение). Это может не соответствовать действительности в C#.
|
|
|

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 (можно, но сложно) у тебя не получится. Чтобы прочитать число через эти функции нужно их записать бинарно.
|
|
|

24.11.2015, 01:45
|
|
Познающий
Регистрация: 19.03.2013
Сообщений: 65
С нами:
6920724
Репутация:
58
|
|
Уже не ожидал увидеть ответа, большое спасибо всем отзывчивым.
Еще один нюанс: в файле записано - "123456", при выводе стоит FBnew.ReadInt16(); т.е преобразует то что в файле в инт, и если по два байта то берет только "12", а выдает "12849". Откуда это число взялось? Я не пойму тогда, как же мне считать до конца число? Оно может состоять одно из десятки цифр, а я могу только считать только две, ну ладно четыре через ReadInt32. Не понятно. Считать по частям?С этим никогда не работал.
п.с мне нужно из двоичного файла считать все положительные, т.е в файле записано "0101001 101001". Выдать должен первое, я не пойму как это представляется в VS. То ли есть специальные операторы, которые сами это преобразуют, делать через строки, да, можно, но это достоаточно просто, тема состоит не в строках, а в работе с двоичными файлами, то бишь работать нужно через Binary или FileStream, сделаю так)
Попробую считывать побайтово, если первый равен 48, то записывай до пробела, если снова пробел, то проверяй 48(0) или 49(1))
Сообщение от NarutoUA
записать бинарно.
Поподробнее можно?
|
|
|

24.11.2015, 09:34
|
|
Участник форума
Регистрация: 23.10.2010
Сообщений: 125
С нами:
8186006
Репутация:
1
|
|
как в собе сделать чекер стрима по скинам?
крч говоря, если в стриме появляется скин с id 123, то это напишет в чекер.
|
|
|

24.11.2015, 13:13
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от return
как в собе сделать чекер стрима по скинам?
крч говоря, если в стриме появляется скин с id 123, то это напишет в чекер.
Обходишь пул игроков в стриме и сверяешь их id с 123, и при совпадение заносишь в чекер
|
|
|

27.11.2015, 18:04
|
|
Участник форума
Регистрация: 23.10.2010
Сообщений: 125
С нами:
8186006
Репутация:
1
|
|
дайте пожалуйста структуру stMiscInfo
|
|
|

28.11.2015, 11:40
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от return
дайте пожалуйста структуру stMiscInfo
Деньги и патроны передаются. В сфапи вроде есть она
|
|
|

29.11.2015, 12:58
|
|
Новичок
Регистрация: 19.09.2003
Сообщений: 4
С нами:
11916434
Репутация:
0
|
|
Как вывести текст на экран? (Как print в CLEO)
|
|
|

03.12.2015, 11:35
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Niko.
Как вывести текст на экран? (Как print в CLEO)
Хук на рендер и рисуешь, или ты про тот что игровым шрифтом выводится?
|
|
|

03.12.2015, 16:37
|
|
Участник форума
Регистрация: 15.02.2015
Сообщений: 106
С нами:
5916400
Репутация:
68
|
|
Передать в функу символьный массив char можно только указателем но не по ссылке и не по значению так?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|