alanların {-1,0,1,2,3,4} (sadece beş durum) kümesinin değerlerinden birini alabileceği bir matrisin nasıl kodlanacağını tavsiye ederim, bazı işlevlere sahip olmak istiyorum şu şekilde bir matrise sahip olabilir:
granit77 : 0 ve -1'i kaldırmak için pozitif bölgeye 2 birim kaydırın (okumadan sonra kurtarma ile) ve kolayca bir tamsayı oluşturabilirsiniz.
peki, küme {0,1,2,3,4,5} olsun - önemli değil, bu basamak grubundan bir tamsayı almak önemlidir, eğer bu aşamada 12x6 matrisim varsa, o zaman şeklinde bir şey alabilir:
int'e uyuyor gibi görünüyor, ama bilmiyorum ama birdenbire 100x6'lık bir matris istiyorsunuz;)
Not: yardımdan: int'nin dahili temsili, 4 baytlık uzun bir tamsayıdır. Tamsayı sabitleri -2147483648 ile 2147483647 arasında değerler alabilir. Sabit, belirtilen aralığı aşarsa sonuç tanımsızdır.
granit77 : Daha yavaş olmasına rağmen, hala stokta string değişkenleriniz var. Ancak 0 ve -1 hatasız olarak kaldırılmalıdır.
EVET! sadece dize değişkenleri varken - algoritmanın kendisi hala "kağıt üzerinde", bir dosyaya yüklemek için veri hazırlıyorum, ancak daha sonra verileri analiz etmek gerekli olacak ve burası hıza ihtiyaç duyulan yer, düşünürken dizeye değil int'ye nasıl yüklenir
Tipik olarak, DBMS'ler bir grup hakkındaki verileri bir dize olarak depolar. Büyük hacimler için işlem hızı - anne, endişelenme. Clarion DBMS ile ne olduğunu takip etmedim, bakın - orada C ile uyumluluk en üst düzeydeydi.
teşekkürler, bir çift adım attım)))) + - eksi verir gitmem gerek)))))))))
bir asır çalış, aptal gibi yaşa, öleceksin))))) işe yarıyor, okul müfredatını hatırlattığı için teşekkürler Alex...
alanların {-1,0,1,2,3,4} (sadece beş durum) kümesinin değerlerinden birini alabileceği bir matrisin nasıl kodlanacağını tavsiye ederim, bazı işlevlere sahip olmak istiyorum şu şekilde bir matrise sahip olabilir:
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
birden çok tamsayıda saklayın: int arr[6] = {xxxx,xxxx,xxxx,xxxx,xxxx,xxxx}, en düşük hesaplama maliyetiyle
Teşekkür
matrislerinize bir örnek gösterin.
| 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 4,4,4,2,1,1, 1,1,1,1,1,1 |
| 4,3,3,3,3,3, -1,-1,-1,-1,-1,-1 |
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|
sonraki:
| 4,4,1,2,2,2, 1,1,1,1,1,1 |
| 4,4,1,2,2,2, 1,1,1,1,1,-1 |
| 3,4,4,2,2,2, 1,1,1,1,1,-1 |
| 4,3,3,3,3,3, 1,1,1,-1,-1,-1 |
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|
Verileri kompakt bir şekilde depolamak istiyorum - bir dize bir tamsayı
alanların {-1,0,1,2,3,4} (toplamda beş durum) kümesinin değerlerinden birini alabileceği bir matrisin nasıl kodlanacağını tavsiye edin,
0 ve -1'i kaldırmak için pozitif bölgeye 2 birim kaydırın (okumadan sonra kurtarma ile) ve kolayca bir tamsayı oluşturabilirsiniz.
peki, küme {0,1,2,3,4,5} olsun - önemli değil, bu basamak grubundan bir tamsayı almak önemlidir, eğer bu aşamada 12x6 matrisim varsa, o zaman şeklinde bir şey alabilir:
| 4,4,1,2,1,1, 1,1,1,1,1,1 | = 2147483647 - 441211111111/2
int'e uyuyor gibi görünüyor, ama bilmiyorum ama birdenbire 100x6'lık bir matris istiyorsunuz;)
Not: yardımdan: int'nin dahili temsili, 4 baytlık uzun bir tamsayıdır. Tamsayı sabitleri -2147483648 ile 2147483647 arasında değerler alabilir. Sabit, belirtilen aralığı aşarsa sonuç tanımsızdır.
Daha yavaş olmasına rağmen, hala stokta string değişkenleriniz var. Ancak 0 ve -1 hatasız olarak kaldırılmalıdır.
Tipik olarak, DBMS'ler bir grup hakkındaki verileri bir dize olarak depolar. Büyük hacimler için işlem hızı - anne, endişelenme. Clarion DBMS ile ne olduğunu takip etmedim, bakın - orada C ile uyumluluk en üst düzeydeydi.