Рубрика «деление»

В этом тексте рассматривается метод преобразование двоичного числа в строку без использования операций деления и остатка.

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

char* utoa_div(uint32_t value, char* buffer) {

	size_t index = 0;
	
	// преобразование в строку
	do {
		buffer[index++] = (value % 10) + '0'; 
		value /= 10;
	}while (value > 0);

	buffer[index] = '';
	
	// разворачивание строки
	int start = 0;
	int end = index - 1;
	while (start < end) {
		char temp = buffer[start];
		buffer[start] = buffer[end];
		buffer[end] = temp;
		start++;
		end--;
	}
	return buffer;
}

Читать полностью »

Введение

Деление — достаточно затратная операция. Например, на CPU Cannon Lake задержки 32-битного деления находятся в интервале 10-15 тактов, а на Zen4 — 9-14 тактов. Задержки 32-битного умножения на обоих CPU составляют 3-4 такта.

Ни в одном из популярных ISA SIMD (SSE, AVX, AVX-512, ARM Neon, ARM SVE) нет целочисленного деления, оно есть только в RISC-V Vector Extension. Однако во всех этих ISA есть деление с плавающей запятой.

В этой статье мы представим два подхода к реализации SIMD-деления 8-битных беззнаковых чисел:

  1. с помощью деления с плавающей запятой,

  2. с помощью алгоритма деления столбиком.

  3. Читать полностью »

Начиная с процессора 80286 компания Intel поддерживала полную совместимость «снизу-вверх» в системе команд. То есть если какая-то из команд процессора дает такой-то результат на 8086, то и на более поздних процессорах результат будет точно таким же (сейчас не будем рассматривать ошибки типа неправильного деления в Pentium I).

Читать полностью »

Каждый по-своему пытается попасть в будущее: люди отправляют послания в бутылке, замораживают тела, пишут книги, сажают деревья и строят дома… Но самый простой способ передать «частичку себя» сквозь время — создать ребенка с помощью методов полового размножения (впоследствии также воспитать его в духе традиционных ценностей и позаботиться о том, чтобы появились внуки и генеалогическое древо продолжало давать плоды). Что именно передает человек своему потомку и как это происходит — в новом материале Genotek.

image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js