Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/248: Рейтинг темы: голосов - 248, средняя оценка - 4.65
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
24.03.2015, 00:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
будет совершенно другая архитектура (основанная на Гарвардской), поддерживающая x128.
Это ты сейчас сам придумал, да? Современные процессоры и так используют те идеи гарвардской архитектуры, которые могут использовать, не потеряв возможности компиляции и выполнения кода на одном и том же процессоре. И самое то главное, кому нужны эти х128, нам бы еще все возможности х64 умудрится реализовать, или тебе мало 2^64 байт адресуемой памяти? Пара секунд знаменательной математики: это 18 450 000 терабайтных планок оперативки. Если загружать их параллельно на скорости в 150Гб/с на это уйдет чуть менее 4 лет. Оценил масштаб трагедии?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 00:42
Цитата Сообщение от TheFox Посмотреть сообщение
Пара секунд знаменательной математики: это 18 450 000 терабайтных планок оперативки.
Какая к чёрту оперативка? Очнись. Не будет твоего дерпнутого Java, не будет двоичной системы, не будет HDD, SSD, SSHD и т. д. Будут квантовые компьютеры вот с такими кварцевыми дисками:
Кварцевый диск сможет хранить информацию миллион лет
P.S. Незнание не освобождает от ответственности. Твои знания устарели примерно на 10 лет. Практически всё уже изобретено.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 01:34
Цитата Сообщение от Voivoid Посмотреть сообщение
Может у тебя freopen не сработал и std::cin ждет ввода с клавиатуры
Нет. Всё оказалось проще. Я вместо stdin написал stdout.

Собственно, моё спецрасследование!

Сгенерировал на D текстовый файл "in.txt" размером 17,9 ГБ, в котором записана гигантская строка, целиком состоящая из латинского символа 'a' и заканчивающаяся символом '\n'.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import std.range;
import std.stdio;
 
void main() {
 
    stdout = File("in.txt", "w");
 
    int n = 2_147_483_640;
 
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).write;
    'a'.repeat(n).writeln;
}
Запустил код считывания строки на D:
C++
1
2
3
4
5
6
7
8
9
10
11
import std.stdio;
 
void main() {
    
    stdin = File("in.txt", "r");
    stdout = File("dout.txt", "w");
    
    string a;
    a = readln;
    writeln(a);
}
Менее, чем через 5 секунд программа выдала следующее исключение:
Code
1
core.exception.OutOfMemoryError@(0)
При этом в файл "dout.txt" ничего не записалось.

Затем я запустил программу на C++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <cstdio>
#include <iostream>
 
int main() {
    
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    
    std::string a;
    
    std::cin >> a;
    std::cout << a << std::endl;
    
    return 0;
}
В файл "out.txt" записалось всего лишь 1,99 ГБ из 17,9 ГБ, и программа на C++ как ни в чём не бывало вывела на экран следующее:
Code
1
2
--------------------------------
Process exited after 223.1 seconds with return value 0
P.S. И имя ему - возвращающий нуль (из священного писания D-шников о С++).
Миниатюры
D vs C++ (2)  
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 01:46
Кто-то просил <fstream> :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>
#include <fstream>
#include <iostream>
 
int main() {
    
    std::ifstream fin("in.txt");
    std::ofstream fout("out.txt");
    
    std::string a;
    
    fin >> a;
    fout << a << std::endl;
    
    fin.close();
    fout.close();
    
    return 0;
}
Результат тот же 1,99 ГБ из 17,9:
Code
1
2
--------------------------------
Process exited after 44.9 seconds with return value 0
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
24.03.2015, 06:28
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
D не был на 18-м месте в прошлом году. В прошлом году он был на 35-м месте. В этом году уже на 31-м. Ваша информация - фейк.
год назад
Code
1
2
3
4
По версии аналитического агентства tiobe.com популярность 
D за последние несколько месяцев значительно выросла. Теперь 
D входит в 20-ку самых популярных языков программирования и 
занимает в ней 18-ое место
ок. там и запишем: русскоязычный форум dlang - источник фейковой информации
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 12:29
Цитата Сообщение от pycture Посмотреть сообщение
там и запишем: русскоязычный форум dlang - источник фейковой информации
Да. Признаю, мой косяк. Я перепутал прошлый год с позапрошлым (D в позапрошлом году был на 31-м месте):
Язык D (dlang) - где он и как он?
P.S. Ничего. Посмотрим, как взлетит D в этом году после Dconf 2015.
Цитата Сообщение от Voivoid Посмотреть сообщение
C++
1
writefln("%f", a.map!"a + 2.5".reduce!"a + b");
Всё-таки я и тут умудрился нагнать. Это выражение абсолютно рабочее. Просто я забыл, что после метода .map применяется метод .reduce, который возвращает сумму массива (а не сам массив, как это делает метод .map). Могу добавить, что такая запись предпочтительнее в данном случае:
C++
1
writeln(a.map!"a + 2.5".reduce!"a + b");
P.S. Потому что форматированный вывод здесь вообще не требуется.
0
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
24.03.2015, 12:43
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Будут квантовые компьютеры
Ты имеешь о них какое-то представление? По моим данным это очень специфическая штука, которая имеет преимущество перед классическими процессорами только на ряде специфических задач, теперь добавь их цену, и подумай, будут ли они когда-нибудь в домах обычных людей. По-моему, они скорее займут место, которое когда-то занимали сопроцессоры или сейчас занимает Nvidia Tesla. Ну и главный вопрос, где в D зарезервированы соответствующие типы переменных?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
с такими кварцевыми дисками:
Ты читаешь то, на что ссылаешься? В убийцы HDD/SSD можно пророчить мемристорную память, но ни как не очередную модификацию компакт-диска.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Твои знания устарели примерно на 10 лет. Практически всё уже изобретено.
Даладна? У кого из компаний есть планы на 128 битные процессоры?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 13:19

Не по теме:

Цитата Сообщение от TheFox Посмотреть сообщение
Ты имеешь о них какое-то представление?
Там не используется двоичная система, там кубиты... Смекаешь?
Цитата Сообщение от TheFox Посмотреть сообщение
По моим данным это очень специфическая штука, которая имеет преимущество перед классическими процессорами только на ряде специфических задач, теперь добавь их цену, и подумай, будут ли они когда-нибудь в домах обычных людей.
Будут. Не очень-очень скоро.
Цитата Сообщение от TheFox Посмотреть сообщение
Ну и главный вопрос, где в D зарезервированы соответствующие типы переменных?
D - это не квантовый язык программирования.
Цитата Сообщение от TheFox Посмотреть сообщение
Ты читаешь то, на что ссылаешься?
А как же.
Цитата Сообщение от TheFox Посмотреть сообщение
В убийцы HDD/SSD можно пророчить мемристорную память, но ни как не очередную модификацию компакт-диска.
Ага. Конечно, нельзя. Только, по-моему, одного этого хватит, чтобы усолить HDD и SSD:
Диск из кварцевого стекла потенциально может вместить до 360 терабайт информации, при этом выдерживает температуру до 1000°C и имеет практически неограниченный срок хранения.
Цитата Сообщение от TheFox Посмотреть сообщение
Даладна?
Такого слова не существует в моём словаре.
Цитата Сообщение от TheFox Посмотреть сообщение
У кого из компаний есть планы на 128 битные процессоры?
IBM.


Ну а как на плюсах или на Java () написать эффективную и короткую программу, которая переводит положительные и отрицательные целые числа в двоичную систему?
P.S. Можете использовать любой boost. Моя программа всё равно будет лучше.
0
24.03.2015, 13:32

Не по теме:

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ага. Конечно, нельзя. Только, по-моему, одного этого хватит, чтобы усолить HDD и SSD
Не хватит. Максимум — для хранения резервных данных датацентров. Для оперативной работы объёмов HDD хватает, а скорости — нет.

0
24.03.2015, 13:42

Не по теме:

Цитата Сообщение от korvin_ Посмотреть сообщение
Для оперативной работы объёмов HDD хватает
Мне лично не хватает.
Цитата Сообщение от korvin_ Посмотреть сообщение
а скорости — нет.
Поэтому я и использую SSD.

0
24.03.2015, 14:15

Не по теме:

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Там не используется двоичная система, там кубиты... Смекаешь?
Ты где-то что-то услышал, но так и не понял. кубиты двоичны, собственно поэтому они и кубиты. Bit — binary digit, qbit — quantum binary digit.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Только, по-моему, одного этого хватит, чтобы усолить HDD и SSD
Ты действительно не понимаешь, что у HDD и этого, ну совершенно разные ниши использования? В 2003 был были представлены оптические диски DMD потенциально вмещающие 100Гб у меня тогда жесткий, если мне память не изменяет был 80Гб, ну и где они теперь? Оптические диски либо не перезаписываются, либо перезаписываются с большим трудом, в этом их фатальный недостаток по сравнению с HDD/SSD. Они пригодны только для архивирования данных.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Такого слова не существует в моём словаре.
Это междометие.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
IBM.
А где об этом подробнее, желательно в пресс релизах IBM. Или инфа инсайдерская?

0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 14:44

Не по теме:

Цитата Сообщение от TheFox Посмотреть сообщение
Ты где-то что-то услышал, но так и не понял. кубиты двоичны, собственно поэтому они и кубиты. Bit — binary digit, qbit — quantum binary digit.
Ты кубический чайник. :D Кубит всегда имеет третье промежуточное квантовое состояние, которое находится между нулём и единицей.
Кубит — ключевой компонент квантового компьютера. Благодаря уникальному свойству кубитов, квантовой суперпозиции, вычислительная способность квантовых компьютеров в некоторых задачах будет экспоненциально выше, чем у бинарных.
Кубит — ключевой компонент квантового компьютера.
Цитата Сообщение от TheFox Посмотреть сообщение
Оптические диски либо не перезаписываются, либо перезаписываются с большим трудом, в этом их фатальный недостаток по сравнению с HDD/SSD. Они пригодны только для архивирования данных.
Насколько я помню, кварцевые диски можно спокойно перезаписывать.
Цитата Сообщение от TheFox Посмотреть сообщение
Это междометие.
Нет такого междометия. И зачем ты поставил знак вопроса после мнимого междометия? О?
Цитата Сообщение от TheFox Посмотреть сообщение
А где об этом подробнее, желательно в пресс релизах IBM. Или инфа инсайдерская?
IBM POWER4 — процессор из параллельного мира
P.S. Если хочешь обсуждать 128-битные процессоры и квантовое программирование, то создавай отдельную тему.


Ну а как на плюсах или на Java () написать эффективную и короткую программу, которая переводит положительные и отрицательные целые числа в двоичную систему?
Как там Java поживает?
Миниатюры
D vs C++ (2)  
0
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
24.03.2015, 14:46
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
эффективную и короткую программу
Не знаю, как насчет эффективной, но короткую запросто:

Java
1
System.out.println(Integer.toString(1773, 2));
Короче некуда
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 15:18
Цитата Сообщение от TheFox Посмотреть сообщение
Короче некуда
Java
1
System.out.println(Integer.toString(-15, 2)); // -1111
Шалун, меня так просто не проведёшь.
0
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
24.03.2015, 15:27
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Кубит — ключевой компонент квантового компьютера.
Ты в курсе, что этот чувак в тех местах живой мем? Я бы не советовал тебе образовываться читая его статьи. Кубит имеет два собственных состояния, то есть это двоичный элемент. Троичный называется кутрит.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Насколько я помню, кварцевые диски можно спокойно перезаписывать.
Это стекло в объеме которого производится прожиг, почти как при объемной лазерной гравировке . Как ты его переписывать собрался?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
IBM POWER4 — процессор из параллельного мира
Ох, это древний POWER4 теперь 128-битный? Ну-ну. С такими знаниями в области архитектуры даже и не знаю, что в этой области можно обсуждать.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Шалун, меня так просто не проведёшь.
А что не так? Математически все совершенно верно.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
24.03.2015, 16:00
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
В файл "out.txt" записалось всего лишь 1,99 ГБ из 17,9 ГБ, и программа на C++ как ни в чём не бывало вывела на экран следующее:
Какой компилятор?
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
24.03.2015, 16:02
Цитата Сообщение от Voivoid Посмотреть сообщение
Какой компилятор?
да он скорее всего в 32 бита компилит
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
24.03.2015, 16:07
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
написать эффективную и короткую программу, которая переводит положительные и отрицательные целые числа в двоичную систему?
Ну например так:
C++
1
2
3
4
5
6
#include <iostream>
#include <bitset>
int main() {
  int x = 42;
  std::cout << std::bitset<32>( x ) << std::endl;
}
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
24.03.2015, 16:38
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
переводит положительные и отрицательные целые числа в двоичную систему?
что значит "переводит"? сохраняет в массив целых из 0 и 1, а потом выводит на экран этот массив? ну ждем-с. просто вывод на экран волшебным writelnf "%b" неинтересен, т.к. не соотвествует оглашенному условию
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
24.03.2015, 18:17
Цитата Сообщение от Voivoid Посмотреть сообщение
Какой компилятор?
TDM-GCC 4.8.1 64-bit GNU C++11, который в одной "коробке" вместе с Dev-C++ идёт. На VS не пробовал запускать.
Цитата Сообщение от TheFox Посмотреть сообщение
Ты в курсе, что этот чувак в тех местах живой мем?
Честно говоря, я не знаю, кто-то там у кого мем. На хабре я просто иногда читаю статьи.
Цитата Сообщение от TheFox Посмотреть сообщение
Кубит имеет два собственных состояния, то есть это двоичный элемент. Троичный называется кутрит.
Ладно-ладно. Поверю на слово.
Цитата Сообщение от TheFox Посмотреть сообщение
Как ты его переписывать собрался?
Уже никак.
Цитата Сообщение от TheFox Посмотреть сообщение
А что не так? Математически все совершенно верно.
Здесь обсуждается программирование, а не математика (математика бывает и дискретной, и компьютерной, и тупой теоретической).
Прочитай эту статью:
Дополнительный код (представление числа)
Цитата Сообщение от Voivoid Посмотреть сообщение
Ну например так:
Мой вариант короче:
C++
1
2
3
4
5
6
7
import std.stdio;
 
void main() {
 
    int x = -42; 
    writefln("%b", x); // 11111111111111111111111111010110
}
Цитата Сообщение от pycture Посмотреть сообщение
что значит "переводит"?
Моя программа переводит число в двоичное представление и выводит его на экран. Что-то ещё непонятно?
Цитата Сообщение от pycture Посмотреть сообщение
сохраняет в массив целых из 0 и 1
Слово "сохраняет" я не употреблял. Ну ежели вам так нужен массив, то не смею вам отказать :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import std.conv : to;
import std.range : iota;
import std.array : array;
import std.bigint : BigInt;
import std.string : format;
import std.stdio : writefln;
 
void main() {
 
    BigInt[100] bitArr;
 
    foreach (i, el; iota(-15, 16).array) {
        bitArr[i] = format("%b", el).to!BigInt;
        writefln("bitArr[%2s] = %3s = %s", i, el, bitArr[i]);
    }
}
Пруф
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
bitArr[ 0] = -15 = 11111111111111111111111111110001
bitArr[ 1] = -14 = 11111111111111111111111111110010
bitArr[ 2] = -13 = 11111111111111111111111111110011
bitArr[ 3] = -12 = 11111111111111111111111111110100
bitArr[ 4] = -11 = 11111111111111111111111111110101
bitArr[ 5] = -10 = 11111111111111111111111111110110
bitArr[ 6] =  -9 = 11111111111111111111111111110111
bitArr[ 7] =  -8 = 11111111111111111111111111111000
bitArr[ 8] =  -7 = 11111111111111111111111111111001
bitArr[ 9] =  -6 = 11111111111111111111111111111010
bitArr[10] =  -5 = 11111111111111111111111111111011
bitArr[11] =  -4 = 11111111111111111111111111111100
bitArr[12] =  -3 = 11111111111111111111111111111101
bitArr[13] =  -2 = 11111111111111111111111111111110
bitArr[14] =  -1 = 11111111111111111111111111111111
bitArr[15] =   0 = 0
bitArr[16] =   1 = 1
bitArr[17] =   2 = 10
bitArr[18] =   3 = 11
bitArr[19] =   4 = 100
bitArr[20] =   5 = 101
bitArr[21] =   6 = 110
bitArr[22] =   7 = 111
bitArr[23] =   8 = 1000
bitArr[24] =   9 = 1001
bitArr[25] =  10 = 1010
bitArr[26] =  11 = 1011
bitArr[27] =  12 = 1100
bitArr[28] =  13 = 1101
bitArr[29] =  14 = 1110
bitArr[30] =  15 = 1111

Собственно, предлагаю теперь плюсарям, джаварям и сишарпарям сохранить всю эту солянку в массив. Но учтите, буду тестировать программу на числах размера unsigned long long.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru