|
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 7
|
|
Перевод десятичного числа в байты11.03.2012, 20:37. Показов 14209. Ответов 15
Метки нет (Все метки)
Всем доброе время суток!
Пишу драйвера для принтера чеков под linux... не могу найти ответа на вопрос: Требуется число, допустим, 2345 загнать в два байта в виде 0х23, 0х45, а не в четыре. Т.е. необходимо чтобы они были именно в таком формате без конвертации в hex. Скажите пожалуйста как это можно сделать средствами c#. Заранее большое спасибо за ответ!
0
|
|
| 11.03.2012, 20:37 | |
|
Ответы с готовыми решениями:
15
|
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
||||||
| 11.03.2012, 21:11 | ||||||
|
Если не сильно морочится на оптимальности:
А что за проект такой, если не секрет, где C# и linux?
1
|
||||||
|
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 7
|
|
| 11.03.2012, 22:46 [ТС] | |
|
Спасибо за ответ!
Не секрет! Торговое программное обеспечение под лицензией GPL WarehouseOpen на mono. Я его дорабатываю под аптечный бизнес...все сделал теперь, вот с принтером чеков диалог веду
0
|
|
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
||||||
| 12.03.2012, 08:41 | ||||||
0
|
||||||
|
92 / 92 / 6
Регистрация: 04.05.2011
Сообщений: 171
|
|||||||
| 12.03.2012, 09:31 | |||||||
|
Извиняюсь, что не по теме.
DmitriyK23
Мне с вами поговорить нужно срочно, а ваша личка недоступна. Наши интересы удивительно совпали: я сейчас так же занят аптечным бизнесом, разрабатываю приложение на C# и теперь тоже запнулся на принтере чеков.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 7
|
||
| 12.03.2012, 12:16 [ТС] | ||
|
Добро пожаловать: [вырезано]
0
|
||
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
|
| 12.03.2012, 12:41 | |
|
Konctantin, Беда в том, что нужно число 1234 перевести в 0x1234, а не выделить разряды
0
|
|
|
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 7
|
||||||
| 12.03.2012, 13:25 [ТС] | ||||||
|
Нет беда в другом...
Как, допустим, число 0123456789 перевести в 5 байтов 0х01, 0х23, 0х45, 0х67, 0х89 Добавлено через 18 минут Вот так правильно будет?
0
|
||||||
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
|
| 12.03.2012, 13:31 | |
|
максимум сколько байт? в 8 байт на выходе уложишься?
Важно ли, чтобы каждый байт был отдельно? т.е. то, что ты написал работать будет (в первом приближении), но писать так не надо, Индусы обзавидуются
0
|
|
|
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 7
|
|
| 12.03.2012, 13:44 [ТС] | |
|
Да важно чтобы байты были отдельно. Мне надо последовательность из 5 байт послать на принтер чеков, а не одним байтом...
Добавлено через 4 минуты Как надо, если не секрет?
0
|
|
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
||||||
| 12.03.2012, 13:46 | ||||||
|
если в 8 байт (16 разрядов) уложишься, то можно так
Добавлено через 1 минуту ulong, если UInt64 религия писать не позволяет (не знаю, как именованные типы называются в mono)
0
|
||||||
|
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 7
|
|
| 12.03.2012, 14:14 [ТС] | |
|
Спасибо!
![]() Мне хватит 5-ти байт, но почему-то когда я забиваю в выше указанный код in_val = 1234567890, то он первые 2-е цифры, т.е. 12, не видит... О_о Функция BitConverter.GetBytes() выдает набор байт: 0х90, 0х78, 0х56, 0х34, 0х00, 0х00, 0х00, 0х00, а байта 0х12 нет...
0
|
|
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
|
| 12.03.2012, 14:24 | |
|
моя недоработка: замени uint на ulong в выражении.
И uint in_val = 1234; на ulong in_val = 1234;, а то при использовании чисел более 4х миллиардов будут бяки Добавлено через 2 минуты Хотя честно скажу, тому кто требует шестнадцатеричные числа в качестве десятичных надо руки оборвать
1
|
|
|
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 7
|
|
| 12.03.2012, 14:26 [ТС] | |
|
silicium, Спасибо большое все работает! Спасибо за уделённое время!
Добавлено через 1 минуту
0
|
|
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
|
| 12.03.2012, 14:32 | |
|
Ну... Надо же мне как-то самолюбие тешить и профессиональную деформацию выправлять
А если серьёзно - обращайтесь. Я в основном Embedded решениями как раз и занимаюсь, шарп просто для удобства решения сервисных задач использую.
0
|
|
| 12.03.2012, 14:32 | |
|
Помогаю со студенческими работами здесь
16
Перевод из десятичного числа в двоичное
Перевод десятичного числа в двоичное Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|