Hvorfor har tastaturer en stjerne?

Mens vi alle er vant til at bruge * som multiplikationssymbolet (for ikke at nævne andre esoteriske betydninger i programmering) er det naturligvis ikke det daglige standardsymbol for multiplikation. Og alligevel er der ingen × -tast på noget normalt tastatur.

I betragtning af manglen på × Jeg kan se, hvorfor * var det næstbedste valg, men hvorfor er det overhovedet der ? Hvad betød det oprindeligt, og hvilken brug havde det?

Hver “standard” ” IBM-PC ” skriv tastatur, som jeg alle kan huske at have haft dette symbol. Muligvis har nogle Solaris-terminaler måske eller måske ikke (kan ikke huske). C64 havde det. Under alle omstændigheder ser det ud til at gå tilbage til i det mindste de tidlige 80ere, jeg havde sat tidligere.


[Jeg søgte efter ” stjerne ” her, men fandt ikke dette spørgsmål allerede; hvis jeg savnede en dupe, bedes du påpege det.]

Kommentarer

  • Fordi det er en del af ASCII-tegnsættet?
  • Det blev brugt i trykt tekst (f.eks. til at markere fodnoter eller marginalnoter) i hundreder af år, før ASCII blev opfundet.
  • Da Fortran blev opfundet i 1950erne, var der allerede en stjerne tilgængelig på stansede kort og teletyper . Dette var det tætteste symbol på multiplikationstegnet. Ligeledes var der en skråstreg fremad, hvilket var det tætteste symbol på opdelingstegnet.
  • En anden mulighed ville være som jeg synes er meget mere almindelig end × i højere matematik
  • ” det er selvfølgelig ikke det rigtige symbol for multiplikation ” Hvorfor ikke? I matematik bruger vi en flydende prik, en stjerne er tæt nok. Flydende prikker kan være svære at læse i nogle skrifttyper.

Svar

Computerterminal tastaturer, der er nødvendige for at gengive symbolerne tilgængelig på stansede kort og papirbånd. I USA dominerede stansede kort databehandlingsindustrien (kommunikationsbrug har tendens til papirbånd).

Specielt IBM stansede kortkoder var vigtige i branchen.

IBM 026 tastaturet (og dets erstatning 029) havde en stjerne. Da online tastaturer blev interessante, var stjernen allerede i brug i forskellige programmeringssammenhænge, og det var derfor stadig nødvendigt.

026 havde forskellige tegnsæt (og kodning) tilgængelige, men stjerne var fælles for de fleste (alle?) af konfigurationerne. Se denne side for eksempler, men her er FORTRAN-sættet:

+ – 0123456789ABCDEFGHIJKLMNOPQR / STUVWXYZ = “.) $ *, (

Du kan betragte det sparsomme sæt som minimumskrav til ethvert efterfølgende computertastatur.

Men hvorfor var der en stjerne på 026/029 kortstempler?

Dette autoritative dokument om kodede tegnsæt siger på side 66, at en stjerne blev tilføjet til IBM-kortskoder “et eller andet sted omkring 1932” og blev brugt til kontrolbeskyttelse. Dette var et sæt på 39 tegn: alfanumerik, minustegn, ampersand, stjerne.

Derfor er behovet for stjerne på databehandlingsudstyr blev afgjort længe før lagrede programcomputere kom på scenen. Og selvfølgelig, hvis behandlingsudstyret kan bruge et tegn, skal det være på tastaturerne.

Kommentarer

  • Cool! Det gør stjernen (sammen med min. os underskriver for negative tal og ampersand for navne, såsom hr. & fru Jones) et af de ældste specialtegn!
  • Dette betyder ikke ‘ t svar hvorfor × ikke var ‘ t inkluderet til multiplikation på samme tid som + blev medtaget til tilføjelse.
  • I et vist omfang er argumentet cirkulært: programmeringssprog bruger de tegn, som I / O-enheder har; I / O-enheder vælger tegnsæt, som programmeringssprog bruger. Men kodepunkter er ‘ t gratis. Især er det ønskeligt, at en printer kan udskrive alle tegn. + blev tilføjet, da tegnsættet blev udvidet til 48 tegn. 48 passer til eksisterende kædeprintere med 240 tegn; 49 gør det ikke (se s. 70 i det kodede tegnsæt doc linket ovenfor). Tilføjelse af × er nødt til at fortrænge noget andet. Brug af * til multiplikation var tilsyneladende den bedre afvejning.
  • @IanKemp det er muligvis blevet tilføjet for eksplicit at angive positive tal, ikke til tilføjelse.
  • Kudos til Dave som sædvanlig, men hvis jeg kunne smide et par bits til.Wp-artiklen om ” Seks-bit tegnkode ” viser, at talrige præ-ASCII-tegnkoder, der blev brugt til computere, havde *, mens artiklen på ” Baudot-kode ” viser, at det havde mindre betydning for kommunikation. Jeg synes, at John Savard ‘ s side på quadibloc.com/crypto/mi060103.htm også er interessant, da er hans observationer på tastaturer. Som de arketypiske ALGOL-maskiner havde Burroughs Large Systems 6-bit tegnkoder både * og multiplikationssymbolet × (som naturligvis tastaturer til interaktiv APL osv.).

Svar

Tastaturer har en stjerne, fordi skrivemaskiner havde, længe før computere eksisterede.

Skrivemaskiner, især mekaniske, indgik typisk et antal kompromiser for at reducere antallet af nødvendige nøgler. For eksempel havde mange ikke 0 eller 1, og folk brugte O og I eller l i stedet. Ligeledes var × ikke nødvendig, da x kunne bruges i stedet for, eller · ( . halvt op). Stjernen blev brugt meget ( f.eks til fodnoter, sektionsadskillere osv.), Og ingen alfabetiske tegn kunne erstatte den, så den blev inkluderet i mange populære tastaturer (se f.eks. Hemingways Underwood Portable eller Underwood 5).

Da den blev vist på de fleste skrivemaskiner, blev den medtaget i nogle af de tegnsæt, der blev brugt til kommunikation, og også i tidlige computertastaturer (de startede som skrivemaskiner) og derefter i ASCII (via nævnte kommunikationstegnsæt). Se Hvorfor adskiller symbolerne på nummertasterne på pc & Mac-tastaturer til ASCII-tastaturer? for detaljer. Da ASCII blev standardiseret, havde * fået sin matematiske betydning; det er inkluderet i de matematiske symboler (s. 213) .

Kommentarer

  • @ another-dave Underwood 5 havde det, og det var en af de mest populære skrivemaskiner.
  • Det var faktisk mere almindeligt at bruge små bogstaver L l i stedet for 1. Det er ‘, hvorfor de to tegn i nogle variationer af Courier-skrifttypen ser ens ud.
  • @UuDdLrLrSs pre-computing, og stadig i dag bruges en stjerne ofte til fodnoter. Det har også andre anvendelser.
  • @Raffzahn I ‘ vi har to Hermes Baby skrivemaskiner, en med et amerikansk layout og en med et fransk layout. De mangler begge 1 og 0 ved hjælp af l og O i stedet. Nogle men ikke alle ¹ af denne model havde en stjerne. En masse variation på tværs af sprog selv for den samme model. ¹ Svensk layout
  • Strengt taget er stjerne-tegnet heller ikke nødvendigt. På kyrilliske skrivemaskiner blev den typisk produceret som x -backspace- -.

Svar

Årsagen til at bruge * i stedet for × er tvetydighed. × ligner meget på x nu, endnu mere i de tidlige dage af computeren, før laserprinteren blev allestedsnærværende, og du havde brug for sættsoftware og en trykpresse for at producere en × der kunne skelnes fra et x.

Ifølge dette indlæg kan vi bebrejde Fortran:

Selvom det nu er almindelig praksis at bruge en stjerne til multiplikation, tror jeg ikke, det var tilfældet, før FORTRAN-programmeringssproget blev udviklet hos IBM af John Backus og hans team.

Formodentlig blev stjernen valgt – formodentlig fordi det var den ikke -alphanumeric symbol, der nærmest lignede det sædvanlige × symbol, der betegnede multiplikation, hvorimod bogstavet X ikke kunne bruges, da FORTRAN brugte bogstaver i alfabetet til symbolske variabelnavne på variabler og ukendte. Da der ikke var nogen overskrifter (eller abonnementer) tilgængelige, blev eksponentiering angivet med en dobbelt stjerne: ** (og parenteser blev brugt til at omgive abonnementer). Desuden blev bogstavet “E” brugt (efter en række cifre) til at gengive tal i “videnskabelig notation”, f.eks. 6,02 × 10 23 .

Stjernen er brugt som et multiplikationssymbol i lang tid :

I aritmetikens gamle dage brugte mange algoritmer korset i San Andres til at løse divisions- og multiplikationsprodukter og proportioner. Det kan være af den grund, at Oughtred i 1631 valgte dette kors som et symbol til multiplikation.

Det oplevede stor accept, undtagen af matematikerne Gottfried W. Leibniz og Isaac Newton, som ikke følte sig helt komfortable med symbolet. Leibniz skriver i 1698 i et af sine breve til matematikeren Johann Bernoulli: ”Jeg kan ikke lide × -symbolet som et symbol på multiplikation, da det kan forveksles med x; … Jeg relaterer ofte blot to størrelser med et punkt og angiver multiplikation med RS · PQ. ”

For eksempel brugte den schweiziske matematiker Johann Rahn (1622-1676) stjernen * i sit arbejde Teutsche Algebra (1659). Samt Leibniz, der tidligere brugte et faldet C, med den åbne side nedad, i sin Dissertatio of combinatorial art (1666).

Kommentarer

  • Jeg spekulerer på, om Backus et al vidste om den tidligere brug, eller om det bare var en tilfældighed?
  • Måske omvendt symbolets tilsyneladende lighed × og bogstavet x er grunden til, at den tidligere ikke var ‘ t inkluderet på tidlige skrivemaskiner, da de ‘ forventer jeg, at skriveren erstatter sidstnævnte? (På samme måde som nogle skrivemaskiner ikke ‘ t så behovet for at inkludere 0 eller 1, da O og l blev brugt i stedet.)
  • Husk, at * ikke ville have været brugt, hvis det ikke var ‘ på æraens tastaturer.

Svar

Circa 1950 Royal typerwriter. Øverste række nøgler, anden fra højre. Hvad ser du?

indtast billedebeskrivelse her

Kommentarer

  • Men da computertastaturer blev designet, behøvede folk ikke at kopiere skrivemaskins layout uden tanker. For det første blev computere tydeligt brugt til matematik (ikke tekstbehandling som vi tænker på dem i dag), så det var et valg at fortsætte med at udelade x og inkludere *
  • @UuDdLrLrSs – De første almindelige computertastaturer var Teletyper, oprindeligt designet til at erstatte telegrafer til fjernkommunikation mellem mennesker.
  • ‘ Almindelig ‘ kan være i øjet af beskueren, men før model 33-teletype brugte computere ting som IBM Typewriters og Friden Flexowriters , både som konsollenheder og til offline båndforberedelse. Teletypen blev populær hos minicomputere og til timesharing-systemer, fordi den var relativt billig.
  • Hvad ‘ er ASCII-koden til ” ¢ “?
  • Dette svar er ikke ‘ t give nogen forklaring på hvorfor del af spørgsmålet. Kontrast med dette svar , som også taler om skrivemaskiner, men dækker hvorfor.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *