Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Модифицированный дополнительный код.




В модифицированном дополнительном коде так же, как и в обратном, под знак числа отводится два разряда. В модифицированном дополнительном коде числа представляются по правилу:

x > 0, x = +0, x1, x2, …, то [x]доп. мод. = 00, x1, x2, …

х < 0, х = -0, х1, х2, …, то [x]доп. мод. = 11, |x1, |x2, … + 0,0…1

Как и в обратном коде, комбинация знаковых разрядов (01 и 10) являются признаком переполнения разрядной сетки.

04.05.2012 г. (пт)

Таблица «Способы преобразования символов при вводе».

Символ за % Тип, ожидаемый при вводе Тип аргумента
d Десятичное целое Указатель на int
D Десятичное целое Указатель на long int
o Восьмеричное целое Указатель на int
O Восьмеричное целое Указатель на long int
x, X Шестнадцатеричное целое Указатель на int
i Десятичное, восьмеричное или шестнадцатеричное целое Указатель на int
I Десятичное, восьмеричное или шестнадцатеричное целое Указатель на long int
u Десятичное целое без знака Указатель на unsigned int
U Десятичное целое без знака Указатель на unsigned long int
e, E, f, g, G Величина с плавающей точкой, состоящая из мантиссы и порядка Указатель на float
c Символ. Символы пробелов (и подобные), которые обычно пропускаются, но считываются, если есть символ с Указатель на char
s Символьная строка Указатель на символьный массив, достаточно большой, чтобы разместить вводимое поле и завершающий null- символ, добавляемый автоматически
% Символ % Не преобразуется, участвует во вводе, как символ %
n Из потока ничего не считывается Указатель на переменную типа int, в которую записывается количество символов, считанных из потока, вплоть до этой точки при текущем вызове функции
p Величина в виде XXXX:YYYY, где X и Y являются шестнадцатеричными цифрами верхнего регистра Указатель на объект (far* или near*) %p выполняет преобразование требуемого указателя, используя модели памяти

 

Из рассмотренного выше программного примера следует, что в общем случае структура формата имеет вид:

%[*][ширина][префикс]тип

[*] после % подавляет запоминание следующего вводимого поля. Поле считывается в соответствии с форматом, но преобразованная величина никуда не записывается.

[ширина] – это положительное десятичное целое, задающее максимальное число символов при вводе. Если [ширина] избыточная, то чтение происходит до пробельного символа. Если [ширина] меньше, чем число символов до пробельного, то читаются и преобразуются только символы, числом не более [ширина].

При этом, [префиксами] могут быть:

N – используется для печати адресов. near (формат %Np)

F – используется для печати адресов. far (формат %Fp)

H – используется для ввода коротких целых с типом short.

L – используется для ввода длинных целых и вещественных с типом long.

 

Отметим, что scanf и fscanf идентичны, но вместо потока, заданного первым аргументом, она по умолчанию использует предопределенный входной поток stdin, поэтому в вызове функции scanf список аргументов начинается сразу с управляющей строки.

 

 

Вывод с использованием функции printf и fprintf

 

Рассмотрим пример, который можно выполнять на компьютере.

 

/*

Пример программы

Вывод на языке C++

Указать вид строк печати в файле f1.out на магнитном диске после выполнения приведенной ниже программы

*/

#include<stdio.h> //для функции ввода-вывода

int main (void) //возвращает 0 при успехе

{

//данные для печати

float f=1.5e2;

long double

ld=2.0e-3L;

int i=7;

long int li=12l;

short int si=5;

FILE *f_out; //указатель на структуру со сведениями о файле для

//вывода

int retcode; //возвращаемое значение для fclose

//Открываем файл f1.out

f_out=fopen(“f1.out”,”w”);

if(f_out==NULL)

{

printf(“\n Файл не открыт”);

return 1;

}

//записываем в файл f1.out

fprintf(f_out,“% 3OS\n f=%f %5S i=%10d\n”,

“*”, f, “ “, i);

fprintf(f_out, “ld=%-Lf f=%15f f=%15.2f f=%+15.2f\n”,

ld, f, f, f);

fprintf(f_out, “i=%10.5d f=%E li=%ld si=%hi\n”,

i, f, li, si);

//закрываем файл

retcode=fclose(f_out);

if(retcode==EOF)

{

printf(“\n Файл не закрыт”);

return 2;

}

return 0

}

//конец примера программы





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 345 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студенческая общага - это место, где меня научили готовить 20 блюд из макарон и 40 из доширака. А майонез - это вообще десерт. © Неизвестно
==> читать все изречения...

2372 - | 2321 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.