|
18 / 19 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
Как с printf вывести 1 байт?11.03.2018, 01:13. Показов 21201. Ответов 34
Метки нет (Все метки)
Вопрос банальный до ужаса тем не менее перерыв интернет и справки по си несмог понят как это сделать?
В общем нужно вывести 1 байт в виде беззнакового десятичного числа. Вот както так 121 по сути дела я пытаюсь строку из символьного массива вывести побайтно на экран . Но ведь числового типа данных в 1 байт не существует. А потом вдруг захочу вывести по 2 байта в виде одного числа? Это простая операция с данными но меня поставила в тупик
0
|
|
| 11.03.2018, 01:13 | |
|
Ответы с готовыми решениями:
34
Как вывести printf для струкутры Как вывести без cout и printf |
|
|
||||||||||
| 12.03.2018, 21:15 | ||||||||||
|
Если не понимаешь так, могу по другому: C char aaa = -1; unsigned char bbb = 255;
И пока ты не сядешь и не прочтёшь, что такое "дополнительный двоичный код", и не разложишь в двоичный вид на бумажке несколько вариантов, ты так и ходить и по кругу спрашивать одни и те же вопросы
0
|
||||||||||
|
18 / 19 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
| 12.03.2018, 21:33 [ТС] | |
|
Я прочитал стивена прату с++ до средины. Всё делал что там сказано. Тем не менее таких тонкостей там не нашёл.
Это какие священные книги нужно читать чтобы уже до конца понять как работает си чтобы уже точно никаких случайностей не возникло? Ну чтобы я мог уверенно вывести 1 байт на экран без всяких неожиданностей типа внезапно появившегося минуса? Я к стати собираюсь шагнуть к следующему уровню развития, и вывести 1 бит на экран прямо из памяти и из определённого места в байте. Как ни читал про структуры типа "битовые поля" так ровным счётом ничего и не понял как из числа вытащить бит. Но я продолжаю изучать вопрос. Добавлено через 8 минут зы цитата: "считай, что такого приведения типа нету. Номинально по языку он есть, но если бы не было, результат был бы таким же" извините но НИАСИЛИЛ. Несчитаю себя тупым но логическую конструкцию : считай что нету но номинально он есть но если бы не было то результат был бы таким же. - я никак не могу осознать это что то глубоко философское. Это напоминает мышление в стиле си++ это перегрузка функции с функцией обратного вызова или что-то вроде того.
0
|
|
|
|
|||
| 13.03.2018, 10:30 | |||
|
0
|
|||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||||||
| 13.03.2018, 11:13 | ||||||
0
|
||||||
|
18 / 19 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
| 13.03.2018, 11:14 [ТС] | |
|
Наверное вы изучали си когда не было интернета а было три книги в библиотеке. Я помню те времена. Если бы у меня тогда был 286 то я бы тоже никуда не делся и потратив много дней и ночей путём экспериментов понял бы как это работает.
Потому что кроме трёх игр текстового редактора и оболочки турбо си ничего и достать то было невозможно. Особенно из под доса где всё просто. Сейчас не те времена, мозг перегружен информацией и ни на каких книгах толком не сосредоточишься. Это вы дали маху а не я приведя крайне странную логическую конструкцию, крупник тоже писал в таком стиле? Если бы это было так то вы бы ничего не поняли. цитата"считай, что такого приведения типа нету. Номинально по языку он есть, но если бы не было, результат был бы таким же" с точки зрения логики это круг в доказательстве(или в обьяснении как хотите) Сначала некое явление обьясняется тем что существует приведение, а потом говорится что можно считать что его нету потому что если бы небыло то ничего бы не изменилось. Возникает резонный вопрос а зачем вообще брать во внимание это самое приведение если оно ни на что не влияет и если бы его не было то ровным счётом ничего бы не изменилось? Это извините самое настоящее введение в заблуждение и я имею полное моральное право усомниться в адекватности такого утверждения. Вы не переживайте слишком сильно. Примерно 98 процентов туториалов и лекций на русском языке страдают подобной проблемой, я не знаю с чем это связано то ли с особенностью русского языка который допускает уж сильно многозначные конструкции то ли с отсутствием эмпатии из-за чего лекторы совершенно не понимают что можно понять не так. Мне все преподы хором твердят что весь цимус в иностраной литературе и вообще в англоязычной среде а на русском далеко не уедешь.
0
|
|
|
|
|||
| 13.03.2018, 11:40 | |||
|
0
|
|||
| 13.03.2018, 11:52 | |
|
Не по теме: Простите, песенка вспомнилась
0
|
|
|
4147 / 2725 / 433
Регистрация: 09.09.2017
Сообщений: 12,071
|
||||||
| 13.03.2018, 11:58 | ||||||
-funsigned-char. Вообще, не представляю какой смысл делать char (символ!) знаковым. Там что, предполагается писать char ch = -'a'; что ли?!
0
|
||||||
|
|
||
| 13.03.2018, 14:01 | ||
|
Не по теме:
Добавлено через 59 секунд
0
|
||
|
4147 / 2725 / 433
Регистрация: 09.09.2017
Сообщений: 12,071
|
||
| 13.03.2018, 14:17 | ||
|
1
|
||
|
|
||
| 13.03.2018, 14:41 | ||
|
Добавлено через 8 минут У меня есть книжка "Микропроцессоры", в которой описывалось устройство 580 процессора и система его команд, так я эту книжку когда-то до дыр зачитывал, ещё когда у меня никакого компьтера не было, интересно было..
0
|
||
|
4147 / 2725 / 433
Регистрация: 09.09.2017
Сообщений: 12,071
|
||
| 13.03.2018, 15:28 | ||
|
Нет, если разбираться с контроллерами, то лучше AVR или PIC: море информации, легко достать и есть что собрать. Но и на них засиживаться не стоит, потому как вытесняются 32-битками. Вот только у 32-биток архитектура намного сложнее и хуже подходит для обучения.
0
|
||
|
|
|||
| 13.03.2018, 21:31 | |||
|
Выдержка из поста #4: Но в реальности при передаче параметров коротких типов (char, short) в функцию с эллипсом (с тремя точками) по стандарту языка компилятор сам построит преобразование в int Выдержка из поста #21: считай, что такого приведения типа нету. Номинально по языку он есть, но если бы не было, результат был бы таким же И вместо того, чтобы нормально переспросить, что именно не понятно, начал какой-то философский троллинг и жалобы на жизнь, что у тебя, бедненького, вынесло мозг. Не удивительно, что с таким подходом к обучению всё так плохо продвигается. Хотя не исключено, что сбивают с толку советчики, которые почему-то упорно предлагают делать печать через формат для типа int Добавлено через 1 час 5 минут https://github.com/lattera/gli... n/printf.c https://github.com/lattera/gli... vfprintf.c
0
|
|||
|
18 / 19 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
| 14.03.2018, 19:43 [ТС] | |
|
z80 говорите? Да был у меня спектрум. Книженция по бейскику была . Синклер бейсик я освоил, до автоматизма рук :-)
К стати для сравнения за 20 минут я и не только я делали программы на синклер бейсике которые люди на си неделями не могли откомпилировать. Ну знаете там все вот эти задания которые дают на первом курсе, вычисления функций на интервале , какое-то интегрирование на отрезке функции с заданной точностью. Преимуществом синклер бейсика было то что целая команда появлялась нажатием одной клавиши, по этому невозможно было допустить синтаксическую ошибку(забыть точку с запятой например). По студенческой нищите и неимению телевизора программы умудрялись писать вслепую без монитора и они работали. Это совершенно нереально на современном компе и тем более на си. У меня была и вторая книга для спектрума по ассемблеру но я в ней ничего не понял. Да и времени небыло. Так вот. На счёт восьмибитных компов. Вот например есть ардуино. Мне кажется он сильно напоминает спекртум. Всё же скажу что язык си это вещь в себе. Ощущение такое что нет вообще ни одного человека который бы знал его полностью чтобы исключить все неожиданности компиляции и выполнения. Вы уж извините но я по сабжу просил просто вывести один байт а меня тут уже мордой об ассемблер протащили.
0
|
|
|
|
|
| 14.03.2018, 20:20 | |
|
0
|
|
| 14.03.2018, 20:20 | |
|
Как вывести вектор через printf? как можно вывести число в проценте в printf()
Как работает Printf (как вывести результат в консоль) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|