Меня спросили об этом в интервью. Предполагая, что int будет 2 байта, то есть 16 бит, интервьюер хотел, чтобы я использовал только 10 бит целого числа, которое в основном ограничивает диапазон int. Остальные 6 бит не будут использоваться, конечно.Как использовать только 10 бит int, который равен 2 байтам?
ответ
Это делается путем маскировки бит. ANDing даст вам результаты. Чтобы дать идею, чтобы получить 8 наименее значимых бит из целого числа, вы должны с 0xff и так далее.
Прошу прощения, может быть, я не был ясен. Позвольте пояснить, цель состоит не в том, чтобы извлечь 10 бит из существующего целого числа. Но на самом деле создайте новый тип данных, скажем, с typedef, который был бы целым числом, способным хранить только 10 бит. – user2311285
Ваш интервьюер, возможно, хотел вам продемонстрировать битовые поля:
struct
{
int a : 10;
} foo;
Кажется странным особенность крикнуть в интервью, но это все, что я могу думать.
И он все еще может не иметь желаемое поведение, как «10 бит» особенность этого будет применяться только к хранению, а не каким-либо операций, которые вы используете его в.
- 1. C: Почему размер моей пиццы не равен 10 байтам?
- 2. Установите первые 10 бит int
- 3. Почему мой загруженный файл равен 0 байтам
- 4. Сколько бит необходимо адресовать 32 байтам?
- 5. PHP pack 9 бит int then 10 bit int
- 6. Какой размер Целочисленный размер равен 4 байтам?
- 7. Как включить бит в октабе, только если он равен 0?
- 8. Android: int, который в DialogInterface.OnClickListener() равен -1
- 9. Почему read() читает один байт за раз, если char равен 2 байтам?
- 10. По меньшей мере Один бит в int num равен 0
- 11. Изменить 10 бит из 2 байтов
- 12. Почему int в OCaml только 31 бит?
- 13. Как использовать int в 2 методах
- 14. Когда размер указателя равен 2 байтам, а не 4 в C?
- 15. Проверьте, равен ли один бит
- 16. доступ к последним 2 байтам целого числа
- 17. Могу ли я предположить, что размер long int всегда равен 4 байтам?
- 18. PDF, созданный в android через PdfDocument, равен 0 байтам
- 19. MD5 для моего java hashcode, который является int 32 бит
- 20. Как использовать бит-массив
- 21. Объект C# равен int не равен true
- 22. unsigned int (32 бит) до беззнакового длинного длинного (64 бит)
- 23. 32bit int * 32bit int = 64 бит int?
- 24. Как удалить бит из int?
- 25. Извлеките дополнительные строки, если бит бит равен true
- 26. Как использовать «указатель на массив 10 из int»?
- 27. бит оператор Int переменных
- 28. Преобразование множества бит в базу 10
- 29. Если INT равен 3,5,8,10,13,15 (и т. Д.)
- 30. Почему Integer.MIN_VALUE равен -2^32, тогда как Integer.MAX_VALUE равен 2^31-1?
Вы не знакомы с операторами поразрядными? –
Прошу прощения, может быть, я не понял. Позвольте пояснить, цель состоит не в том, чтобы извлечь 10 бит из существующего целого числа. Но на самом деле создайте новый тип данных, скажем, с typedef, который был бы целым числом, способным хранить только 10 бит. – user2311285
Вы уверены, что это C, а не C++? – samgak