Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Lev Serebryakov                      2:5030/661.1   01 Oct 2004  22:18:24
 To : Valentin Davydov
 Subject : А что с оптеронами?
 -------------------------------------------------------------------------------- 
 
 30 Sep 04 19:45, you wrote to me:
 
  >>  Hо почему?!?!
  VD> Потому что int - это один тип (численный), а указатели - другой
  VD> (ссылочный). У них даже допустимые операции разные. Для работы с ними
  VD> в сях специальные операторы придуманы, * и &. А почему некоторые
  VD> программисты этого не знают - наверное, у них спрашивать надо.
 
   Все это классно. Я же не настаиваю, что бы int и void* были взаимозаменяемые. 
 Я удивляюсь, почему int вдруг не равен арифметическому регистру...
 
  >> Ведь int должен быть самым естественным для железа размером.
  VD> Числа int бывают как 16-разрядные, так и 32-разрядные (C) K&R. А
  VD> самый естественный для x86 и далее железа размер - вообще 8 бит, как
  VD> минимальная индивидуально адресуемая единица пересылки данных,
  VD> наименьшее общее кратное длины различных команд и т.д.
 
   Hет. Самый естественный рзамер при арифметике -- размер регистра.
 
  >> Hеужели так же alpha естественно работает с 32-х битными числами, а
  >> не 64-х битными?
  VD> Альфа нативно умеет 32-битную целочисленную арифметику. 16-битную,
  VD> кстати, тоже.
 
   И сколько дополнительных такотв тратится на расширение знака при загрузке из
 памяти в регистр? И как отлавиливаются переполнения при обратной записи?  А на
 AMD64? А на sparc64?
 
  VD> Этого вполне достаточно, чтобы при целочисленных расчётах не забивать
  VD> половину или 3/4 памяти данных незначащими нулями.
 
   А это уже программист решать должен, и если ему это важно, пользоватся int32_t
 и прочими. Hо, IMHO, абсолютно естественно, что int помещается в целочисленный
 регистр и наоборот!
   У нас, блин, псевдо-переносимый ассемблер -- или что?!
 
   Кстати, вот ведь засада: не удивлюсь (точнее -- почти уверен), если в
 стандарте сказано, что разница между двумя указателями одного типа дает в
 результате int. А тут -- может не влезть! offset_t -- это, конечно, хорошо, но
 есть ли оно в стандарте? Хотя да, ptrdiff_t было вроде бы... Hо это в последнем,
 99 года, а Alpha появилась явно раньше...
 
  >> У нее же все регистры 64 бита...
  VD> У пеньтиума ммх вообще 80-битные регистры есть, так что, обязать int
  VD> тип быть 80 бит?
 
    double -- было бы неплохо, но вот тут IEEE-754 или как его там строго
 обязывает иметь 64 бита. А про int в стандарте наоборот сказано, что это должен 
 быть естественный для архитектуры размер.
 
  VD> Да и адресные регистры, вон, у каких-то интелевых поделок 36- (или
  VD> 48?)битные бывают. Битность указателей - забота компилятора и только.
  VD> А для битности чисел sizeof() придуман.
 
   Именно. Я с этим и не спорю. Я удивляюсь, что int на 64 битной архитетуре не
 64 бита _безотносительно_ размера указателя там же. Hе надо путать.
 
  VD> Программы надо писать нормально, не закладываясь на "очевидные"
  VD> умолчания. Проведение арифметических операций над указателями
  VD> (например, суммирование двух указателей) выглядит ещё более нелепо.
 
   Да, да, да. Hо при чем здесь размер int'а?
 
 // Lev
 --- GoldED+/W32 1.1.4.7
  * Origin: Cave of Black Lion (2:5030/661.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: А что с оптеронами?   Valentin Nechayev   29 Sep 2004 17:54:44 
 А что с оптеронами?   Sultan Azhiguzhayev   29 Sep 2004 21:54:05 
 А что с оптеронами?   Lev Serebryakov   30 Sep 2004 00:18:16 
 Re: А что с оптеронами?   Konstantin \\"Kest\\" Aristov   30 Sep 2004 12:52:29 
 Re: А что с оптеронами?   Valentin Nechayev   01 Oct 2004 14:38:04 
 Re: А что с оптеронами?   Igor Zemliansky   01 Oct 2004 14:48:46 
 А что с оптеронами?   Slawa Olhovchenkov   01 Oct 2004 15:24:20 
 Re: А что с оптеронами?   Valentin Nechayev   30 Sep 2004 16:00:08 
 А что с оптеронами?   Lev Serebryakov   01 Oct 2004 21:57:20 
 Re: А что с оптеронами?   Valentin Davydov   30 Sep 2004 19:45:36 
 А что с оптеронами?   Lev Serebryakov   01 Oct 2004 22:18:24 
 Re: А что с оптеронами?   Andriy Gapon   02 Oct 2004 14:55:12 
 А что с оптеронами?   Lev Serebryakov   02 Oct 2004 22:28:14 
 Re: А что с оптеронами?   Andriy Gapon   04 Oct 2004 15:09:20 
 Re: А что с оптеронами?   Valentin Nechayev   02 Oct 2004 21:32:05 
 А что с оптеронами?   Lev Serebryakov   02 Oct 2004 22:26:32 
 Re: А что с оптеронами?   Valentin Nechayev   03 Oct 2004 10:54:18 
 Re: А что с оптеронами?   Valentin Davydov   04 Oct 2004 09:14:50 
 А что с оптеронами?   Lev Serebryakov   06 Oct 2004 19:39:34 
Архивное /ru.unix.bsd/3284415d9fe2.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional