ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 июля
639527
Tech2 (19.12.2015 10:24, просмотров: 3903)
Набрасываю тестовую программку в MSVS 2010 и наткнулся на ошибку.  char * rbuf; long long flen = 65536; unsigned short int dat, dat1; rbuf = (char *)malloc(flen); // <-- Заполняю буфер значениями из файла for(unsigned int i = 0; i < 200; i++) { // Читать из файла данные и подставлять dat1 = *(((unsigned short int *)&rbuf) + i); // Иногда проскакивают неожиданные значения dat = rbuf[2*i] + 256*rbuf[2*i + 1]; // Всегда правильно printf("%d %d \n", dat, dat1); } Почему иногда dat != dat1 ? Архитектура x64.