Форум программистов, компьютерный форум CyberForum.ru

double на диске. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ функция http://www.cyberforum.ru/cpp-beginners/thread56864.html
у меня возник вопрос,правда не очень умный,вот у меня есть фунция square(c), c=c*c; из мэина вызываем его таким образом #include <windows.h> #include <string.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int square(int c){
C++ возникла неприятность Дело вот в чем, задание гласит следующее: Дано целое число n, поменять местами байты этого числа. Я исходил из того, что эт число n двубайтовое по идее,вот и вышло нечто такое: n=12; m=n; n=n<<8; m=m>>8; n=n|m; По идее это должно поменять местами байты, как мне кажется во всяком случае,но тут возникла другая проблема,программа должна всю эту штуку выводить на экран, и как это сделать нет... http://www.cyberforum.ru/cpp-beginners/thread56857.html
C++ Повернуть массив на 90. Функция.
Здравствуйте.Пожалуйсто помогите решить две задачки.Буду очень благодарна. Задание 1. Разработать приложение, выполняющее следующие действия. Ввести с клавиатуры значения элементов двумерного массива состоящего из чисел 1 и 0. Заданный массив перевернуть против часовой стрелки на 90 градусов. Результат вывести на экран. Задание 2. Написать функцию, которая будет выводить на экран цифры...
C++ Сортировка выбором
Имеется двумерный динамический массив. В сформированном массиве отсортируйте каждую строку по убыванию значений. Используйте сортировку "выбором" int i, j, n = 2, m = 3; int sum=0; int **a = new int*; for (i = 0; i < n; i++) a = new int; ofstream file("example.txt", ios::out); srand((unsigned)time(NULL));
C++ Заполнение массива звездочками http://www.cyberforum.ru/cpp-beginners/thread56835.html
//Задание 8а. Объявите двухмерный встроенный массив элементов типа char. //Заполнить строки двухмерного массива char с помощью генератора случайных //чисел звездочками ('*') - то есть, если в строке десять элементов, то десять раз //следует получить с помощью генератора случайных чисел значение в диапазоне //0-9 и элементу с вычисленным таким способом индексом присвоить код символа '*'....
C++ Динамические массивы //Задание 3. а) Напишите фрагмент кода, который вводит NN целых чисел с помощью //потока ввода в объявленный Вами встроенный одномерный массив, каждый раз //упорядочивая полученное значение по возрастанию //б) Простой поиск. //Модифицируйте предыдущее задание следующим образом:очередное значение //вводится в массив только при условии, что там еще такого нет (то есть //дубли... подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,927
Завершенные тесты: 1
17.10.2009, 15:24     double на диске.
Мантисса в двоичном виде всегда выглядит как 1.???????..., где ? - двоичные цифры. В представлении floating point, естественно, эта фиксированная единица не хранится, хранятся только изменяющиеся биты. Экспонента хранится в виде "со смещением": эти 11 битов представляют собой неотрицательное число, для получения степени из него надо вычесть 1023. Значения экспоненты 0 и 2047 (естественно, БЕЗ смещения на -1023) трактуются особо. Значение экспонентой 0 и мантиссой 0 означает 0 (плюс или минус, ненулевая мантисса обозначает сверхмалое число. При экспоненте 2047 и мантиссе 0 это плюс-минус бесконечность, при ненулевой мантиссе NAN (Not A Number, не число).
Разберём твои примеры:
+1 - знак 0 степень 011 1111 1111 = 1023, со смещением 0, мантисса (1.) 0000 ... - получаем b1.000 * 2^0
+2 - знак 0 степень 100 0000 0000 = 1024, со смещением 1024-1023=1, мантисса (1.) 0000 - получаем 1.000 * 2^1 = 2
+3 - знак 0 степень 100 0000 0000 = 1024, со смещением 1, мантисса (1.)1000 , итого b1.1000 * 2^1 = b11.000... = 3
Ну как, идея ясна?
P.S. Аглицкая Вика о формате double
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru