Почему в C на 64 битных платформах int не 64 битный? Есть ссылочка для чайников?
Потому что размер машинного слова - у long. Хотя и есть некоторые извращенские конпеляторы, у которых int 64-битный, но они не Ъ и должны умереть, корчась в аццких муках.
хз, здесь посмотрите, может есть что по этому поводу.
зы: интересно, когда в исо-с появится поддержка int128_t :) в драфтах исо-с1х пока не находил… будут там всякие short short int / long long long long int и т.п., или таки сделают нормальную типизацию на уровне языка, а не на уровне стандартных библиотек?)
А где и когда и кто сказал, что размер int должен быть равен размеру указателя? int64_t size_t ptrdiff_t uintptr_t и т.п. придумали для решения разных проблем с размерами.
Всем известно, что разрядность данных типа Integer в Pascal точно соответсвует разрядности микропроцессора. Это непоколебимый факт. Для сишников это новость?
Я сказал, запрещаю не восьмибитные байты, будешь выпендриваться предам анафеме быдло.
школиё!
Название «байт» (слово byte представляет собой сокращение словосочетания BinarY TErm — «двоичный терм») было впервые использовано в 1956 году В. Бухгольцем (англ. Werner Buchholz) при проектировании первого суперкомпьютера IBM 7030 для пучка одновременно передаваемых в устройствах ввода-вывода шести битов. Позже, в рамках того же проекта, байт был расширен до восьми бит.
В некоторых архитектурах (как правило, это суперкомпьютеры вроде Cray или сигнальные процессоры вроде TMS320VC31) из-за используемой адресации размер байта равен размеру машинного слова и содержит 32 бита. В терминах языка программирования Си sizeof(char) = sizeof(int) = 4.
> В некоторых архитектурах (как правило, это суперкомпьютеры вроде Cray или сигнальные процессоры вроде TMS320VC31) из-за используемой адресации размер байта равен размеру машинного слова и содержит 32 бита. В терминах языка программирования Си sizeof(char) = sizeof(int) = 4.
Вроде же в одной из прошлых тем этого же направления выясняли, что по стандарту sizeof(char) == 1, но char может быть больше восьми бит.
3.6 byte - addressable unit of data storage large enough to hold any member of the basic character set of the execution environment
6.2.5.3 An object declared as type char is large enough to store any member of the basic execution character set.
6.5.3.4.3 [The sizeof operator] When applied to an operand that has type char, unsigned char, or signed char, (or a qualified version thereof) the result is 1.
чорд, действительно) согласно стандарту, sizeof(char) == 1, где «1» — [«неделимая» единица данных (т.е. минимальная единица данных для данного процессора)] это и есть «атом», т.е. sizeof(char), который определён стандартом как 8+ бит. другими словами, стандарт гарантирует, что размер абсолютно любого типа будет кратен sizeof(char), нет?
стандарт гарантирует, что размер абсолютно любого типа будет кратен sizeof(char), нет?
У этого есть и физический смысл. Байт в разы больше восьми бит там, где отдельный октет не адресуется. Автоматически ни один тип также не может быть меньше байта.
«Ходит дурачек, по лесу. Ищет дурачек, глупее себя.»
И как ни странно - находит!
Хотелось бы, в очередной раз, напомнить всем любителям русского языка про существование такой вещи, как орфография. Если быть более точным, про суффиксы существительных. Правила в языке существуют не просто так, и если они существуют, то следует их все же соблюдать. Много различных людей заявляют обратное. Специально для идиотов поясню: лично мне, плевать на вас конкретно, на вашу манеру письма и все говно, которое из вас по поводу моих заметок льется, вы можете писать так, как хотите (хоть на суахили) и тем, чем вам нравится (хоть шариковой ручкой, вставленной в задницу). Замечу, однако, что конструктивную критику я приветствую и к ней, к критике, прислушиваюсь. На фразы «ты мудак!», «пошел на хуй!» и проч. отвечаю точно таким же образом.
Вернемся к орфографии. Когда вы пишете слова с суффиксом -ок, -ек, чтобы не делать ошибок, можно воспользоваться простейшим правилом:
"-ок, -ек. После шипящих под ударением пишется -ок: бережок, волчок, петушок, сапожок. Суффикс -ек после шипящих пишется в том случае, если на него не падает ударение: ножичек, орешек."
В итоге получается, что ошибки можно не делать и это не так трудно. Хотите писать грамотно - интересуйтесь, не хотите - будьте долбоебами, никто вам не запрещает.